Revealing the Secrets of David Parnas
نویسنده
چکیده
Those of us in the fast-changing field of computing often dismiss anything written more than five years ago as obsolete. Yet several decades-old papers by David L. Parnas [1, 4, 5, 6, 7, 8] are as timely as those published in recent issues of the top journals. Parnas articulates the timeless software design concepts known as information hiding and abstract interfaces. Most programmers would describe a module as a unit of code such as a subroutine or class. Parnas focuses on the programmers rather than the programs. He defines a module as “a work assignment given to a programmer or group of programmers” as a part of a larger software development project [7]. His goals are to enable programmers to develop each module independently, change one module without affecting other modules, and comprehend the overall system by examining one module at a time [5]. Programmers often design a software system by breaking the required processing into steps and making each step a module. Instead, Parnas uses information hiding to decompose the system into modules that satisfy his goals (2); each module keeps its own secreta design decision about some aspect of the system (e.g., choice of a data structure). A modules design decision can change but none of the other modules should be affected. If some aspect is unlikely to change, the design can distribute this knowledge across several modules and the interfaces among them. Most programmers would define a module by listing the names, parameters, and return values–the operation signatures–of its subprograms. Parnas again focuses on the programmers rather than the programs. He defines the “interface between two programs” to consist “of the set of assumptions that each programmer needs to make about the other program in order to demonstrate the correctness of his own program.” [4] In addition to an operation signature, these assumptions must specify the restrictions on data passed to the operation, the effect of the operation, and exceptions to the normal processing that may arise.
منابع مشابه
مسؤولیت مدنی ناشی از افشای اسرار پزشکی در حقوق ایران و کامنلا
Revealing medical secrets is one of the most important topics in medical law, and has an ancient root in medical history and morality. Keeping patients' secrets is one of the certain laws in internal and international laws and regulations of the most countries that have been recognized in patients' bill of rights. Keeping patients' secrets causes patients to confide in physicians and refer to t...
متن کاملKeeping Secrets within a Family: Rediscovering Parnas
David Parnas wrote several papers in the 1970’s and 1980’s that are now considered classics. The concepts he advocated such as information hiding and use of abstract interfaces are generally accepted as the appropriate way to design nontrivial software systems. However, not all of what he proposed has been fully appreciated and assimilated into our practices. Many of his simple, elegant ideas h...
متن کاملRelieving the Burdens of Secrecy: Revealing Secrets Influences Judgments of Hill Slant and Distance
Recent work demonstrates that harboring secrets influences perceptual judgments and actions. Individuals carrying secrets make judgments consistent with the experience of being weighed down, such as judging a hill as steeper and judging distances to be farther. In the present article, two studies examined whether revealing a secret would relieve the burden of secrecy. Relative to a control cond...
متن کاملTypes Defined as Classes of Variables 4
TYPES DEFINED AS CLASSES OF VARIABLES 44D. L. Parnas , John E. Shore l, David Weiss i
متن کاملSecure Sessions from Weak Secrets
Sometimes two parties who share a weak secret k such as a password wish to share a strong secret s such as a session key without revealing information about k to an active attacker. We assume that both parties can generate strong random numbers and forget secrets, and present three protocols for secure strong secret sharing, based on RSA, Diffie-Hellman, and El-Gamal. As well as being simpler a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013